import { DbDataType } from "@ctsy/model";
/**
  * 附件表 AthFiles
  * 附件编号 FID 自增序号(bigint)
  * 应用编号 AID 序号(bigint)
  * 过期时间 Expire 时间戳(timestamp)
  * 文件名 Name 字符100(char(100))
  * 存储方式 Type 字符20(char(20))
  * 存储仓库 Buck 字符50(char(50))
  * 存储路径 Path 字符100(char(100))
  * 文件类型 Mime 字符20(char(20))
  * 存储权限 Sec 状态值(tinyint(1))
  * 文件大小 Size 序号(bigint)
  * MD5 MD5 字符50(char(50))
  * 访问路径 URL 字符250(char(250))
  * 创建时间 CTime 时间戳(timestamp)
  * 创建人 CUID 序号(bigint)
  * 文件状态 Status 状态值(tinyint(1))
*/
export default {
    FID: {
        type: DbDataType.bigint,
        primaryKey: true,
        autoIncrement: true,
        defaultValue: 0,
        allowNull: false
    },
    AID: {
        type: DbDataType.bigint,
        primaryKey: false,
        autoIncrement: false,
        defaultValue: 0,
        allowNull: false
    },
    Expire: {
        type: DbDataType.timestamp,
        primaryKey: false,
        autoIncrement: false,
        defaultValue: new Date,
        allowNull: false
    },
    Name: {
        type: DbDataType.char(100),
        primaryKey: false,
        autoIncrement: false,
        defaultValue: "",
        allowNull: false
    },
    Type: {
        type: DbDataType.char(20),
        primaryKey: false,
        autoIncrement: false,
        defaultValue: "",
        allowNull: false
    },
    Buck: {
        type: DbDataType.char(50),
        primaryKey: false,
        autoIncrement: false,
        defaultValue: "",
        allowNull: false
    },
    Path: {
        type: DbDataType.char(100),
        primaryKey: false,
        autoIncrement: false,
        defaultValue: "",
        allowNull: false
    },
    Mime: {
        type: DbDataType.char(20),
        primaryKey: false,
        autoIncrement: false,
        defaultValue: "",
        allowNull: false
    },
    Sec: {
        type: DbDataType.tinyint,
        primaryKey: false,
        autoIncrement: false,
        defaultValue: 0,
        allowNull: false
    },
    Size: {
        type: DbDataType.bigint,
        primaryKey: false,
        autoIncrement: false,
        defaultValue: 0,
        allowNull: false
    },
    MD5: {
        type: DbDataType.char(50),
        primaryKey: false,
        autoIncrement: false,
        defaultValue: "",
        allowNull: false
    },
    URL: {
        type: DbDataType.char(250),
        primaryKey: false,
        autoIncrement: false,
        defaultValue: "",
        allowNull: false
    },
    CTime: {
        type: DbDataType.timestamp,
        primaryKey: false,
        autoIncrement: false,
        // defaultValue: () => new Date,
        allowNull: false
    },
    CUID: {
        type: DbDataType.bigint,
        primaryKey: false,
        autoIncrement: false,
        defaultValue: 0,
        allowNull: false
    },
    Status: {
        type: DbDataType.tinyint,
        primaryKey: false,
        autoIncrement: false,
        defaultValue: 0,
        allowNull: false
    },
}